package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Clase que inicia la coneccion con la base de datos y ejecuta consultas SQL 
 * 
 * @author Facundo
 *
 */

public class DaoBD {

	
	private static Connection con;
    private static DaoBD INSTANCE = null;
	
    private static Statement statement;
	
	 /**
     * constructor
     */
    private DaoBD(){
    }
	
    /**
     *  Metodo para obtener una instancia, si existe la devuelve, sino la crea
     * @return instancia si existe
     */
    public static DaoBD getInstance() {
        if (INSTANCE == null) {
        	INSTANCE = new DaoBD();
        	crearConnection();
        }
        
        return INSTANCE;
    }

     
	/**
	* datos de la conexion
	*/
	public static void crearConnection() {
		
	
		String db = "metodosagiles";
    	String user = "root"; 
    	String pass = "";
    	
    	try {
			con = DriverManager.getConnection("jdbc:mysql://localhost/" + db + "?" + "user=" + user + "&password=" + pass);
			statement = con.createStatement();
			

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	
	 
    /**
	 * Metodo para cerrar la conexion
	 */
	public void closeConnection() {
		try {
			con.close();
		}catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	public ResultSet ejecutar(String sentencia){
		ResultSet resultado = null;
		
		
		try{
			resultado = statement.executeQuery(sentencia);
			
		}
		catch (SQLException e){
			e.printStackTrace();
		}
	
		return resultado;
	}

	public void actualizar(String sentencia) {
		try{
			statement.executeUpdate(sentencia);
		
		}
		catch (SQLException e){
			e.printStackTrace();
		}

	
	}
	
	
	
}
